/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pos.webservice.agencia.services;

import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import pos.webservice.agencia.bean.Voo;

/**
 *
 * @author fabio
 */
public class CriaVoos {

    Date dt_ida;
    Date dt_volta;
    Date hr_saida;
    Date hr_chegada;
    private List<Voo> dadosVoos;

    public CriaVoos() {
        dadosVoos = new ArrayList<Voo>();

        dt_ida = new GregorianCalendar(2012, 9, 10).getTime();
        dt_volta = new GregorianCalendar(2012, 9, 10).getTime();
        hr_saida = new GregorianCalendar(2012, 9, 10, 17, 30).getTime();
        hr_chegada = new GregorianCalendar(2012, 9, 10, 18, 30).getTime();

        dadosVoos.add(new Voo("cascavel", "curitiba",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                12,
                220.0));

        dt_ida = new GregorianCalendar(2012, 9, 11).getTime();
        dt_volta = new GregorianCalendar(2012, 9, 11).getTime();
        hr_saida = new GregorianCalendar(2012, 9, 11, 17, 30).getTime();
        hr_chegada = new GregorianCalendar(2012, 9, 11, 18, 30).getTime();

        dadosVoos.add(new Voo("curitiba", "cascavel",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                20,
                230.0));

        /*
         * ----------------------------------------------------------------------------
         */

        dt_ida = new GregorianCalendar(2012, 10, 13).getTime();
        dt_volta = new GregorianCalendar(2012, 10, 13).getTime();
        hr_saida = new GregorianCalendar(2012, 10, 13, 9, 30).getTime();
        hr_chegada = new GregorianCalendar(2012, 10, 13, 11, 30).getTime();

        dadosVoos.add(new Voo("cascavel", "paranagua",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                3,
                130.0));

        dt_ida = new GregorianCalendar(2012, 10, 13).getTime();
        dt_volta = new GregorianCalendar(2012, 10, 13).getTime();
        hr_saida = new GregorianCalendar(2012, 10, 13, 14, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 10, 13, 15, 30).getTime();

        dadosVoos.add(new Voo("paranagua", "cascavel",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                5,
                130.0));


        /*
         * ----------------------------------------------------------------------------
         */

        dt_ida     = new GregorianCalendar(2012, 9, 20).getTime();
        dt_volta   = new GregorianCalendar(2012, 9, 20).getTime();
        hr_saida   = new GregorianCalendar(2012, 9, 20, 7, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 9, 20, 7, 45).getTime();

        dadosVoos.add(new Voo("cascavel", "pato branco",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                13,
                99.0));

        dt_ida     = new GregorianCalendar(2012, 9, 20).getTime();
        dt_volta   = new GregorianCalendar(2012, 9, 20).getTime();
        hr_saida   = new GregorianCalendar(2012, 9, 20, 8, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 9, 20, 8, 45).getTime();

        dadosVoos.add(new Voo("pato branco", "cascavel",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                13,
                99.0));

        
        
        dt_ida     = new GregorianCalendar(2012, 10, 20).getTime();
        dt_volta   = new GregorianCalendar(2012, 10, 20).getTime();
        hr_saida   = new GregorianCalendar(2012, 10, 20, 7, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 10, 20, 7, 45).getTime();

        dadosVoos.add(new Voo("cascavel", "sao paulo",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                11,
                299.0));

        dt_ida     = new GregorianCalendar(2012, 10, 20).getTime();
        dt_volta   = new GregorianCalendar(2012, 10, 20).getTime();
        hr_saida   = new GregorianCalendar(2012, 10, 20, 8, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 10, 20, 8, 45).getTime();

        dadosVoos.add(new Voo("sao paulo", "cascavel",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                1,
                299.0));

        
        dt_ida     = new GregorianCalendar(2012, 10, 20).getTime();
        dt_volta   = new GregorianCalendar(2012, 10, 20).getTime();
        hr_saida   = new GregorianCalendar(2012, 10, 20, 10, 00).getTime();
        hr_chegada = new GregorianCalendar(2012, 10, 20, 12, 45).getTime();

        dadosVoos.add(new Voo("sao paulo", "cascavel",
                dt_ida,
                dt_volta,
                hr_saida,
                hr_chegada,
                1,
                299.0));

        
        

    }

    public List<Voo> getVoos(String origem, String destino, Date dt_ida, Date dt_volta) {
        List<Voo> voos = new ArrayList<Voo>();
        for (Voo voo : dadosVoos) {
            if (voo.getOrigem().equals(origem.toLowerCase()) && voo.getDestino().equals(destino.toLowerCase()) && voo.getDt_ida().equals(dt_ida)) {
                voos.add(voo);
            }
        }
        if (!voos.isEmpty()) {
            for (Voo voo : dadosVoos) {
                if (voo.getOrigem().equals(destino.toLowerCase()) && voo.getDestino().equals(origem.toLowerCase()) && voo.getDt_ida().equals(dt_volta)) {
                    voos.add(voo);
                }
            }
        }
        return voos;
    }

    
    public static void main(String[] args) {
        CriaVoos c = new CriaVoos();
        List<Voo> lista = c.getVoos("cascavel", "pato branco",
                new Date(new GregorianCalendar(2012, 9, 20).getTimeInMillis()),
                new Date(new GregorianCalendar(2012, 9, 20).getTimeInMillis()));
        for (Voo voo : lista) {
            System.out.println(voo);
        }
    }
}
